/*
 * @Description: Have A Nice Day!
 * @Author: Jacky
 * @Date: 2020-02-11 13:43:37
 * @LastEditors  : Jacky
 * @LastEditTime : 2020-02-12 18:12:48
 */
// jsonp请求：动态创建一个script，给src赋值请求地址。 解决跨域的一种方案。 浏览器中script img： src  link a：href
// jsonp返回的是一个具名函数的调用，并传实参给该函数
// jsonp请求地址一定有callback这个参数
// 跨域请求(浏览有同源策略限制)：代理proxy，cors(完全由后台控制access-control-allow-origin: *)，jsonp，...
// http请求：XHR
export function JSONP(url, callbackName){
    return new Promise((resolve, reject)=>{
        let scriptNode = document.createElement('script');
        scriptNode.src = url+`&callback=${callbackName}`;
        window[callbackName] = function(data){
            document.body.removeChild(scriptNode);
            if(data.ret === 0){
                resolve(JSON.parse(data.data))
            }else{
                alert('jsonp fetch error!')
            }
        }
        // 追加script标签到页面中，发起请求
        document.body.appendChild(scriptNode);
    })
    
}



